package com.habdqn.studentmanager.service;

import java.util.List;

import com.github.pagehelper.PageInfo;
import com.habdqn.studentmanager.bean.Dictionary;
import com.habdqn.studentmanager.bean.SysLog;
import com.habdqn.studentmanager.bean.SysMenu;
import com.habdqn.studentmanager.bean.Teacher;
import com.habdqn.studentmanager.bean.condition.DateCondition;

/**
 * @author Administrator
 * 系统服务类
 * 2017年5月15日
 * 
 */
public interface SystemService {
	
	/**
	 * 登陆
	 * @param bean
	 * @param isRemember 是否记住
	 */
	void login(Teacher bean, boolean isRemember);
	
	/**
	 * 通过cookie登录
	 * @param token 
	 */
	void login(String token);
	
	/**
	 * 自主注册教师账号
	 * @param bean
	 */
	void register(Teacher bean);
	
	/**
	 * 退出当前用户
	 */
	void exit();
	
	/**
	 * 更新当前用户的密码
	 * @param oldPassword
	 * @param newPassword
	 */
	void changePassword(String oldPassword, String newPassword);
	
	/**
	 * 查找日志列表
	 * @param bean 日志条件
	 * @param dateCondition 时间条件
	 * @return 符合条件的日志列表
	 * @param pageNum
	 * @param pageSize
	 */
	PageInfo<SysLog> findLogList(SysLog bean, DateCondition dateCondition, Integer pageNum, Integer pageSize);
	
	/**
	 * 新增菜单
	 * @param bean
	 */
	void addMenu(SysMenu bean);
	
	/**
	 * 更新菜单
	 * @param bean
	 */
	void updateMenu(SysMenu bean);
	
	/**
	 * 删除菜单
	 * @param bean
	 */
	void delMenu(SysMenu bean);
	
	/**
	 * 查找菜单列表
	 * @param bean
	 * @return
	 */
	List<SysMenu> findMenuList(SysMenu bean);
	
	/**
	 * 新增字典
	 * @param bean
	 */
	void addDict(Dictionary bean);
	
	/**
	 * 更新字典
	 * @param bean
	 */
	void updateDict(Dictionary bean);
	
	/**
	 * 删除字典
	 * @param bean
	 */
	void delDict(Dictionary bean);
	
	/**
	 * 查询字典
	 * @param bean
	 * @return
	 */
	Dictionary findDict(Dictionary bean);
	
	/**
	 * 查询字典列表
	 * @param bean
	 * @return
	 */
	List<Dictionary> findDictList(Dictionary bean);
}
